<?php

if(!(isset($_SESSION))) session_start();

class Usuari_Controller {
    
    public function __construct($getVariables) {
        
        if(isset($_SESSION["usuari"])) {
            $data_usuari = unserialize($_SESSION["usuari"]);
            if($data_usuari->getMail() == "admin@gmail.com") {
                $_SESSION["usuari"] = serialize($data_usuari);
                $getVariables["action"] = "VIEW_OF_ADMIN";
            }
            else $_SESSION["usuari"] = serialize($data_usuari);
        }
          
        $event = null;
        
        if(isset($getVariables["action"])) {
            if(strlen($getVariables["action"]) > 0) $vista_a_devolver = $getVariables["action"];
        }
        else $vista_a_devolver = null;
                
        $peticiones = array(
            "GET_USUARI",
            "SET_USUARI", "SET_USUARI_ACTION",
            "EDIT_USUARI", "EDIT_USUARI_ACTION", "EDIT_USUARI_FOTO_ACTION",
            "DEFAULT_CALENDARI",
            "VIEW_OF_ADMIN"
            );

        foreach($peticiones as $peticion) {
            $peticion_url = $peticion;

            if($vista_a_devolver == $peticion_url) {
                $event = $peticion;
            }
        }

        switch ($event) {
            case "SET_USUARI":
                $view = new Usuari_View();
                $view->devolver_vista("VIEW_ALTA_USUARI");
                break;
            
            case "SET_USUARI_ACTION":
                if(isset($_POST["E-mail"]) && isset($_POST["Nom"]) && isset($_POST["Password"]) && isset($_POST["PrimerCognom"]) && isset($_POST["SegonCognom"]) && isset($_POST["DataNaixament"])) {
                    //print $_POST["E-mail"]." - ".$_POST["Nom"]." - ".$_POST["Password"]." - ".$_POST["PrimerCognom"]." - ".$_POST["SegonCognom"]." - ".$_POST["DataNaixament"];
                    $usuari_insertar = new Usuari_Model($_POST["E-mail"],$_POST["Password"]);
                    $usuari_insertar->set($_POST["Nom"], $_POST["PrimerCognom"],$_POST["SegonCognom"],$_POST["DataNaixament"]);
                    //print $usuari_insertar->toString();

                    $usuari_insertar->__destruct();
                    header("Location: ".SITE_ROOT."/index.php?usuari");
                }
                else header("Location: ".SITE_ROOT."/index.php?calendari");
                break;
           
            case "EDIT_USUARI_ACTION":
                if(isset($_SESSION["usuari"])) {
                    //print $_POST["E-mail"]." - ".$_POST["Nom"]." - ".$_POST["Password"]." - ".$_POST["PrimerCognom"]." - ".$_POST["SegonCognom"]." - ".$_POST["DataNaixament"];

                    $_SESSION['usuari'] = unserialize($_SESSION['usuari']);
                    // print $_SESSION['usuari']->toString()."<br />";
                    $_SESSION['usuari']->update($_POST["Nom"], $_POST["PrimerCognom"],$_POST["SegonCognom"], $_POST["Password"],$_POST["DataNaixament"]);
                    //print $_SESSION['usuari']->toString();
                    //exit();
                    $_SESSION['usuari'] = serialize($_SESSION['usuari']);
                    $view = new Usuari_View();
                    $view->devolver_vista("VIEW_EDIT_USUARI");
                }
                else header("Location: ".SITE_ROOT."/index.php?calendari");
                break;
            case "EDIT_USUARI_FOTO_ACTION":
                if(isset($_SESSION["usuari"])) {
                    $_SESSION['usuari'] = unserialize($_SESSION['usuari']);
                    $foto = $_POST['Foto'];
                    $mail = $_POST["E-mail"];
                    $_SESSION['usuari']->updateFoto($_POST["E-mail"],$_POST["Foto"]);
                    $_SESSION['usuari'] = serialize($_SESSION['usuari']);
                    header("Location: ".SITE_ROOT."/site_media/Fotos/index.php?foto=$foto&mail=$mail");
                }
                else header("Location: ".SITE_ROOT."/index.php?calendari");
                break;
            
            case "EDIT_USUARI":
                if(isset($_SESSION["usuari"])) {
                    $view = new Usuari_View();
                    $view->devolver_vista("VIEW_EDIT_USUARI");
                }
                else header("Location: ".SITE_ROOT."/index.php?calendari");
                break;
            
            case "DEFAULT_CALENDARI":
                $_SESSION["usuari"] = serialize(new Usuari_Model($_POST["E-mail"], $_POST["Password"]));
                header("Location: ".SITE_ROOT."/index.php?calendari");
                break;
            
            case "VIEW_OF_ADMIN":
                $view = new Usuari_View();
                $view->devolver_vista("VIEW_ADMIN");
                break;
            
            default:
                if(isset($_SESSION["usuari"])) {
                    header("Location: ".SITE_ROOT."/index.php?calendari");
                }
                else {
                    $view = new Usuari_View();
                    $view->devolver_vista("VIEW_LOGIN_USUARI");
                }
        }
    }  
}

?>